Power efficient detection of watermarks in media signals

ABSTRACT

Example apparatus disclosed herein include a watermark detector to detect watermarks in a media signal. Disclosed example apparatus also include a controller to operate the watermark detector to (1) detect a first watermark in the media signal, and (2) cycle between sleep intervals and active intervals based on a repetition rate of the watermarks in the media signal to perform a detection operation for a second watermark at a second location in the media signal relative to a first location of the first watermark in the media signal. In some examples, the controller is to search a buffer of prior detected watermark symbols to detect a third watermark at a third location prior to the second location in the media signal in response to the second watermark not being detected at the second location in the media signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent is a continuation of U.S. patent application Ser. No.17/187,453, which was filed on Feb. 26, 2021, which is a continuation ofU.S. patent application Ser. No. 15/893,216 (now U.S. Pat. No.10,937,116), which was filed on Feb. 9, 2018, which is a continuation ofU.S. patent application Ser. No. 15/495,584 (now U.S. Pat. No.9,904,968), which was filed on Apr. 24, 2017, which is a continuation ofU.S. patent application Ser. No. 15/231,439 (now U.S. Pat. No.9,641,857), which was filed on Aug. 8, 2016, which is a continuation ofU.S. patent application Ser. No. 14/587,995 (now U.S. Pat. No.9,418,395), which was filed on Dec. 31, 2014. Priority to each of U.S.patent application Ser. Nos. 14/587,995; 15/231,439; 15/495,584;15/893,216; and 17/187,453 is hereby claimed. U.S. patent applicationSer. Nos. 14/587,995; 15/231,439; 15/495,584; 15/893,216; and 17/187,453are hereby incorporated by reference in their respective entireties.

FIELD OF THE DISCLOSURE

This disclosure relates generally to media watermarking and, moreparticularly, to power efficient detection of watermarks in mediasignals.

BACKGROUND

Watermarks can be embedded or otherwise included in media to enableadditional information to be conveyed with the media. For example, audiowatermarks can be embedded or otherwise included in the audiodata/signal portion of a media stream, file and/or signal to conveydata, such as media identification information, copyright protectioninformation, etc., with the media. Such watermarks enable monitoring ofthe distribution and/or use of media, such as by detecting watermarkspresent in television broadcasts, radio broadcasts, streamed multimedia,etc., to identify the particular media being presented to viewers,listeners, users, etc. Such information can be valuable to advertisers,content providers, and the like.

Prior media monitoring systems employing watermarks typically includewatermark decoders that run in a continuous fashion to ensure detectionof the embedded watermarks in the monitored media signals. However,continuous operation of a watermark decoder can be undesirable in aportable meter. For example, such operation can quickly consume theavailable power of the portable meter and, thus, reduce the amount oftime the portable meter is able to perform media monitoring.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example media monitoring systemincluding an example portable device implementing an example mediadevice monitor supporting power efficient detection of watermarks inmedia signals in accordance with the teachings of this disclosure.

FIG. 2 illustrates an example watermark to be detected by the examplemedia device monitor of FIG. 1 .

FIG. 3 is a block diagram of an example implementation of the mediadevice monitor of FIG. 1 , which includes an example watermark detectorcontroller to implement power efficient detection of watermarks in mediasignals in accordance with the teachings of this disclosure.

FIG. 4 is a block diagram illustrating an example implementation of thewatermark detector controller of FIG. 1 , which includes an examplewatermark verifier, an example watermark confirmer and an example searchtrigger evaluator.

FIG. 5 is a flowchart representative of first example machine readableinstructions that may be executed to implement the example media devicemonitor of FIGS. 1 and/or 3 , and/or the example watermark detectorcontroller of FIGS. 1, 3 and/or 4 .

FIG. 6 is a flowchart representative of first example machine readableinstructions that may be executed to implement the example watermarkverifier of FIG. 4 .

FIG. 7 is a flowchart representative of first example machine readableinstructions that may be executed to implement the example watermarkconfirmer of FIG. 4 .

FIG. 8 is a flowchart representative of first example machine readableinstructions that may be executed to implement the example searchtrigger evaluator of FIG. 4 .

FIG. 9 is a flowchart representative of second example machine readableinstructions that may be executed to implement the example media devicemonitor of FIGS. 1 and/or 3, and/or the example watermark detectorcontroller of FIGS. 1, 3 and/or 4 .

FIG. 10 is a flowchart representative of second example machine readableinstructions that may be executed to implement the example watermarkverifier of FIG. 4 .

FIG. 11 is a flowchart representative of second example machine readableinstructions that may be executed to implement the example watermarkconfirmer of FIG. 4 .

FIG. 12 is a flowchart representative of second example machine readableinstructions that may be executed to implement the example searchtrigger evaluator of FIG. 4 .

FIG. 13 is a block diagram of an example processor platform structuredto execute the example machine readable instructions of FIGS. 5 and/or 9to implement the example media device monitor of FIGS. 1 and/or 3 .

FIG. 14 is a block diagram of an example processor platform structuredto execute the example machine readable instructions of FIGS. 5-11and/or 12 to implement the example watermark detector controller ofFIGS. 1, 3 and/or 4 .

Wherever possible, the same reference numbers will be used throughoutthe drawing(s) and accompanying written description to refer to the sameor like parts, elements, etc. As used herein, the phrase “incommunication,” including variances thereof, encompasses directcommunication and/or indirect communication through one or moreintermediary components and does not require direct physical (e.g.,wired) communication and/or constant communication, but ratheradditionally includes selective communication at periodic or aperiodicintervals, as well as one-time events.

DETAILED DESCRIPTION

Methods, apparatus, systems and articles of manufacture (e.g., physicalstorage media) to implement power efficient detection of watermarks inmedia signals are disclosed herein. Example watermark detection methodsdisclosed herein include operating a watermark detector in a firstoperating mode (e.g., such as a search mode) to search for a firstwatermark in a media signal. Such disclosed example methods alsoinclude, in response to detecting the first watermark, determiningwhether the first watermark satisfies a first condition. Such disclosedexample methods further include, in response to determining the firstwatermark satisfies the first condition, operating the watermarkdetector in a second operating mode (e.g., such as a confirmation mode)in which the watermark detector cycles between a sleep interval and anactive interval to detect a second watermark at a second location in themedia signal relative to a first location of the first watermark in themedia signal.

In some disclosed example methods, the first watermark includes a firstgroup of symbols and a second group of symbols. In some such examples,the first group of symbols is repeated in the first watermark and thesecond watermark, whereas the second group of symbols differs betweenthe first watermark and the second watermark. In some such disclosedexample methods, detecting the first watermark includes detecting thefirst group of symbols in the media signal. Also, in some such disclosedexample methods, the first watermark satisfies the first condition whenthe first group of symbols of the first watermark match a correspondingfirst group of symbols repeated in a third watermark detected by thewatermark detector in the media signal within a first time period priorto detection of the first watermark. Additionally or alternatively, insome such disclosed example methods, the first watermark satisfies thefirst condition when respective ones of the first group of symbols ofthe first watermark satisfy respective symbol strength conditions.

Additionally or alternatively, in some such disclosed example methods,operating the watermark detector in the second operating mode includesoperating the watermark detector to detect, in the media signal, thefirst group of symbols repeated in the second watermark. Additionally oralternatively, some such disclosed example methods further includecontinuing to operate the watermark detector in the second operatingmode if at least one of (i) the first group of symbols repeated in thesecond watermark satisfies a first symbol strength condition or (ii) thefirst group of symbols repeated in the second watermark match at least afirst number of the corresponding first group of symbols of the firstwatermark. Some such disclosed example methods also includetransitioning operation of the watermark detector out of the secondoperating mode if (iii) the first group of symbols repeated in thesecond watermark does not satisfy the first symbol strength conditionand (iv) the first group of symbols repeated in the second watermarkdoes not match at least the first number of the corresponding firstgroup of symbols of the first watermark.

In some such disclosed example methods, the sleep interval is a firstsleep interval, and transitioning operation of the watermark detectorout of the second operating mode transitioning operation of thewatermark detector to the first operating mode if a second condition ismet. Some such disclosed example methods also include, if the secondcondition is not met, transitioning operation of the operation of thewatermark detector to a third operating mode (e.g., a sleep mode) inwhich the watermark detector is to (i) sleep for at least one of thefirst sleep interval or a second sleep interval different from the firstsleep interval, and then (ii) transition operation to the firstoperating mode.

Additionally or alternatively, some example methods disclosed hereinfurther include searching a buffer of prior watermark symbols evaluatedby the watermark detector to detect a third watermark in the mediasignal in response to at least one of: (i) detecting the first watermarkor (ii) detecting the second watermark at a third location in the mediasignal different from the second location.

Additionally or alternatively, some example methods disclosed hereinfurther include, in response to not detecting the first watermark for afirst time period of operating the watermark detector in the firstoperating mode, determining whether a second condition is met and, ifthe second condition is met, continuing to operate the watermarkdetector in the first operating mode. Some such disclosed examplemethods also include, if the second condition is not met, transitioningoperation of the watermark detector to a third operating mode (e.g., asleep mode) in which the watermark detector is to (i) sleep for at leastone of the first sleep interval or a second sleep interval differentfrom the first sleep interval then (ii) transition operation to thefirst operating mode.

These and other example methods, apparatus, systems and articles ofmanufacture (e.g., physical storage media) to implement power efficientdetection of watermarks in media signals are disclosed in greater detailbelow.

As noted above, prior media monitoring systems employing watermarkstypically include watermark decoders that run in a continuous fashion toensure detection of the watermarks embedded in the media signals outputfrom monitored media devices. However, when such watermark decoders areimplemented by/in portable meters, their continuous operation canquickly consume the available power of the portable meter and, thus,reduce the amount of time the portable meter is able to perform mediamonitoring. Example methods, apparatus, systems and articles ofmanufacture (e.g., physical storage media) disclosed herein to implementpower efficient detection of watermarks in media signals solve thetechnical problem of excessive power consumption associated withconventional watermark decoders in meters (e.g., portable meters). Powerefficient detection of watermarks in media signals, as disclosed herein,is especially useful in watermarking systems in which a least of portionof a watermark is embedded repeatedly in the watermarked media at agiven watermark repetition rate. For example, the watermark may includea first portion corresponding to media identification symbols and asecond portion corresponding to timestamp symbols. In such examples, themedia identification symbols remain the same across watermarks embeddedin the media, whereas the timestamp symbols change with each successivewatermark to, for example, identify a particular elapsed time within thewatermarked media. In such examples, the media symbol portion of thewatermark is repeated in the watermarked audio at the given watermarkrepetition rate.

Power efficient detection of watermarks in media signals, as disclosedherein, takes advantage of such repeating watermarks. For example, andas disclosed in further detail below, a watermark detector operated inaccordance with the teachings of the disclosure is operated in a first(e.g., search) mode to search for and detect a first watermark. Then,after a first watermark is detected, the watermark detector is operatedin a second (e.g., confirmation) mode in which watermark detection istargeted at the locations in the media signal where other watermarks areexpected based on the watermark repetition rate and the duration of thewatermark. At other times, the watermark detector is placed in alow-power sleep mode to conserve power. In this way, portable metersutilizing power efficient detection of watermarks in media signals, asdisclosed herein, can achieve increased operating times and/or moreefficient operation relative to prior portable meters. For example, whena watermark detector is placed in a low-power sleep mode in accordancewith the teachings disclosed herein, a device (e.g., a portable device)implementing the watermark detector may also be placed in a low powermode. Additionally or alternatively, when a watermark detector is placedin a low-power sleep mode in accordance with the teachings disclosedherein, the device (e.g., portable device) implementing the watermarkdetector may redirect the processing power (e.g., processor cycles) usedfor watermark detection to native and/or other functions implemented bythe device. Further techniques for improving efficiency of such portablemeters are also disclosed in detail below.

Turning to the figures, a block diagram of an example media monitoringsystem 100 implementing power efficient detection of watermarks in mediasignals as disclosed herein is illustrated in FIG. 1 . The example mediamonitoring system 100 supports monitoring of media presented at one ormore monitored sites, such as an example monitored site 105 illustratedin FIG. 1 . The monitored site 105 includes an example media device 110,which is also referred to herein as a media presentation device 110.Although the example of FIG. 1 illustrates one monitored site 105 andone media device 110, power efficient detection of watermarks in mediasignals as disclosed herein can be implemented in media monitoringsystems 100 supporting any number of monitored sites 105 having anynumber of media devices 110.

The media monitoring system 100 of the illustrated example includes anexample media device meter 125, also referred to as a meter 125, a sitemeter 125, a site unit 125, a home unit 125, a portable device 125,etc., to monitor media presented by the media device 110. In theillustrated example, the media monitored by the media device meter 125can correspond to any type of media presentable by the media device 110.For example, monitored media can correspond to media content, such atelevision programs, radio programs, movies, Internet video,video-on-demand, etc., as well as commercials, advertisements, etc. Inthe illustrated example, the media device meter 125 determines meteringdata that may identify and/or be used to identify media presented by themedia device (and, thus, infer media exposure) at the monitored site105. The media device meter 125 then stores and reports this meteringdata via an example network 135 to an example data processing facility140. The data processing facility 140 performs any appropriatepost-processing of the metering data to, for example, determine audienceratings information, identify targeted advertising to be provided to themonitored site 105, etc. In the illustrated example, the network 135 cancorrespond to any type(s) and/or number of wired and/or wireless datanetworks, or any combination thereof.

In the illustrated example, the media device 110 monitored by the mediadevice meter 125 can correspond to any type of audio, video and/ormultimedia presentation device capable of presenting media audiblyand/or visually. For example, the media device 110 can correspond to atelevision and/or display device that supports the National TelevisionStandards Committee (NTSC) standard, the Phase Alternating Line (PAL)standard, the Systeme Electronique pour Couleur avec Memoire (SECAM)standard, a standard developed by the Advanced Television SystemsCommittee (ATSC), such as high definition television (HDTV), a standarddeveloped by the Digital Video Broadcasting (DVB) Project, etc. As otherexamples, the media device 110 can correspond to a multimedia computersystem, a personal digital assistant, a cellular/mobile smartphone, aradio, a tablet computer, etc.

In the media monitoring system 100 of the illustrated example, the mediadevice meter 125 and the data processing facility 140 cooperate toperform media monitoring based on detecting media watermarks. Moreover,the media device meter 125 detects media watermarks in a power efficientmanner as disclosed herein. Examples of watermarks includeidentification codes, ancillary codes, etc., that may be transmittedwithin media signals. For example, identification codes can betransmitted as watermarked data embedded or otherwise included withmedia (e.g., inserted into the audio, video, or metadata stream ofmedia) to uniquely identify broadcasters and/or media (e.g., content oradvertisements). Watermarks can additionally or alternatively be used tocarry other types of data, such as copyright protection information,secondary data (e.g., such as one or more hyperlinks pointing tosecondary media retrievable via the Internet and associated with theprimary media carrying the watermark), commands to control one or moredevices, etc. Watermarks are typically extracted using a decodingoperation.

In contrast, signatures are a representation of some characteristic ofthe media signal (e.g., a characteristic of the frequency spectrum ofthe signal). Signatures can be thought of as fingerprints. They aretypically not dependent upon insertion of data in the media, but insteadpreferably reflect an inherent characteristic of the media and/or thesignal transporting the media. Systems to utilize codes and/orsignatures for audience measurement are long known. See, for example,U.S. Pat. No. 5,481,294 to Thomas et al., which is hereby incorporatedby reference in its entirety.

In the illustrated example of FIG. 1 , the media device meter 125 isimplemented by a portable device including an example watermark detector145 and an example watermark detector controller 150. In the illustratedexample, the watermark detector 145 is configured to detect watermark(s)in media signal(s) output from a monitored media device, such as theexample media device 110. In the illustrated example, the watermarkdetector controller 150 is configured to control operation of thewatermark detector 145 in a power efficient manner in accordance withthe teachings of this disclosure. In some examples, the media devicemeter 125 corresponds to a special purpose portable device constructedto implement the example watermark detector 145 and the examplewatermark detector controller 150. In other examples, the media devicemeter 125 corresponds to any portable device capable of being adapted(via hardware changes, software changes, firmware changes, etc., or anycombination thereof) to implement the example watermark detector 145 andthe example watermark detector controller 150. As such, the media devicemeter 125 can be implemented by a smartphone, a tablet computer, ahandheld device, a wrist-watch type device, other wearable devices, aspecial purpose device, etc. In some examples, the media device meter125 can be implemented by a portable device that, although portable, isintended to be relatively stationary. Furthermore, in some examples, themedia device meter 125 can be implemented by or otherwise included inthe media device 110, such as when the media device 110 corresponds to aportable device (e.g., a smartphone, a tablet computer, a handhelddevice, etc.) capable of presenting media. (This latter implementationcan be especially useful in example scenarios in which a mediamonitoring application is executed on the media device 110 itself, butthe media device 110 prevents, e.g., via digital rights management orother techniques, third-party applications, such as the media monitoringapplication, from accessing protected media data stored on the mediadevice 110.) An example implementation of the media device meter 125 isillustrated in FIG. 3 , which is described in further detail below.

FIG. 2 illustrates an example watermark 200 that the example mediadevice meter 125 may be configured to detect. The watermark 200 of theillustrated is embedded or otherwise included in media to be presentedby media device(s), such as the example media device 110. For example,the watermark 200 may be embedded in an audio portion (e.g., an audiodata portion, an audio signal portion, etc.) of the media, a videoportion (e.g., a video data portion, a video signal portion, etc.) ofthe media, or a combination thereof. The example watermark 200 of FIG. 2includes an example first group of symbols 205 and an example secondgroup of symbols 210. In the illustrated example of FIG. 2 , the firstgroup of symbols 205 is repeated in successive watermarks 200embedded/included in the media, whereas the second group of symbols 210differs between successive watermarks 200 embedded/included in themedia.

In the example watermark of FIG. 2 , the first group of symbols 205conveys media identification data (e.g., a media identifier) identifyingthe media watermarked by the watermark 200. For example, the mediaidentification data conveyed by the first group of symbols 205 mayinclude data identifying a broadcast station providing the media, a name(e.g., program name) of the media, a source (e.g., a website) of themedia, etc. Thus, in the illustrated example of FIG. 2 , the first groupof symbols 205 is also referred to as a first group of mediaidentification symbols 205 (or simply the media identification symbols205). Furthermore, the media identification data conveyed by the firstgroup of symbols 205 (e.g., the media identification symbols 205) isrepeated in successive watermarks 200 embedded/included in the media.

In some examples, the first group of symbols 205 of the watermark 200includes example marker symbols 215A-B to assist the watermark detector145 in detecting the start of the watermark 200 in the watermarkedmedia, and example data symbols 220A-F to convey the mediaidentification data. Also, in some examples, corresponding symbols pairsin similar respective locations after the first marker symbol 215A andthe second marker symbol 215B are related by an offset. For example, thevalue of data symbol 220D may correspond to the value of data symbol220A incremented by an offset, the value of data symbol 220E maycorrespond to the value of data symbol 220B incremented by the sameoffset, and the value of data symbol 220F may correspond to the value ofdata symbol 220C incremented by the same offset, as well. In suchexamples, the symbols pairs 220A/D, 220B/E and 220C/F are referred to assymbol offset pairs, or offset pairs, and the offset used to generatethe symbol offset pairs forms an additional data symbol that can be usedto convey the media identification data.

In the example watermark 200 of FIG. 2 , the second group of symbols 210conveys timestamp data (e.g., a timestamp) identifying, for example, aparticular elapsed time within the watermarked media. Thus, in theillustrated example of FIG. 2 , the second group of symbols 210 is alsoreferred to as the second group of timestamp symbols 210 (or simply thetimestamp symbols 210). Furthermore, the timestamp data conveyed by thesecond group of symbols 210 (e.g., the timestamp symbols 210) differs insuccessive watermarks 200 embedded/included in the media (e.g., as theelapsed time of the watermarked media increases with each successivewatermark 200).

In the illustrated example of FIG. 2 , the watermark 200 isembedded/included in the desired media at a repetition interval of Tseconds (or, in other words, at a repetition rate of 1/T seconds), withthe first group of symbols 205 remaining the same in successivewatermarks 200, and the second group of symbols 205 varying insuccessive watermarks 200. For example, the repetition interval T maycorrespond to T=4.8 seconds. As there are 12 symbols in the examplewatermark 200 (e.g., 8 symbols in the first group of symbols 205 and 4symbols in the second group of symbols 210) each watermark symbol in theillustrated example has a duration of 4.8/12=0.4 seconds. However, othervalues for the repetition interval T may be used in other examples.

In some examples, a watermark symbol included in the watermark 200 isable to take on one of several possible symbol values. For example, if asymbol in the watermark 200 represents 4 bits of data, then the symbolis able to take on one of 16 different possible values. For example,each possible symbol value may correspond to a different signalamplitude, a different set of code frequencies, etc. In some suchexamples, to detect a watermark symbol embedded/included in watermarkedmedia, the example watermark detector 145 processes monitored mediadata/signals output from the example media device 110 to determinemeasured values (e.g., signal-to-noise ratio (SNR) values) correspondingto each possible symbol value the symbol may have. The watermarkdetector 145 then selects the symbol value corresponding to the best(e.g., strongest, largest, etc.) measured value (possibly afteraveraging across multiple samples of the media data/signal) as thedetected symbol value for that particular watermark symbol.

An example implementation of the media device meter 125 (e.g., which maybe a portable device) of FIG. 1 is illustrated in FIG. 3 . In theillustrated example of FIG. 3 , the media device meter 125 includes oneor more example sensor(s) 305 to detect media data/signal(s) emitted orotherwise output by the example media device 110. In some examples, thesensor(s) 305 include an audio sensor to monitor audio data/signal(s)output by the media device 110. Such an audio sensor may be implementedusing any type of audio sensor or audio interface, such as a microphone,a transducer, a cable/wire, etc., capable of receiving and processingaudio signals (e.g., such as in the form of acoustic and/or electricalsignals). Additionally or alternatively, in some examples, the sensor(s)305 include a video sensor to monitor video data/signal(s) output by themedia device 110. Such a video sensor may be implemented using any typeof video sensor or video interface, such as a camera, a light detector,a cable/wire, etc., capable of receiving and processing video signals(e.g., such as in the form of optical images and/or electrical signals).

The example media device meter 125 of FIG. 3 also includes the examplewatermark detector 145. In the illustrated example of FIG. 3 , thewatermark detector 145 is configured to detect watermarks, such as theexample watermark 200 of FIG. 2 , in the media data/signal(s) detectedby the example sensor(s) 305. In some examples, the watermark detector145 of FIG. 3 is structured to process audio data/signal(s) obtained bythe sensor(s) 305 to detect symbols of instances of the watermark 200that are encoded in one or more frequencies of the sensed audiodata/signal(s), or otherwise encoded in the frequency domain of thesensed audio data/signal(s). Examples of encoding watermarks in thefrequency domain of an audio signal, and corresponding example watermarkdetection techniques that may be implemented by the example watermarkdetector 145, are described in U.S. Pat. No. 8,359,205, entitled“Methods and Apparatus to Perform Audio Watermarking and WatermarkDetection and Extraction,” which issued on Jan. 22, 2013, U.S. Pat. No.8,369,972, entitled “Methods and Apparatus to Perform Audio WatermarkingDetection and Extraction,” which issued on Feb. 5, 2013, U.S.Publication No. 2010/0223062, entitled “Methods and Apparatus to PerformAudio Watermarking and Watermark Detection and Extraction,” which waspublished on Sep. 2, 2010, U.S. Pat. No. 6,871,180, entitled “Decodingof Information in Audio Signals,” which issued on Mar. 22, 2005, U.S.Pat. No. 5,764,763, entitled “Apparatus and Methods for Including Codesin Audio Signals and Decoding,” which issued on Jun. 9, 1998, U.S. Pat.No. 5,574,962, entitled “Method and Apparatus for AutomaticallyIdentifying a Program Including a Sound Signal,” which issued on Nov.12, 1996, U.S. Pat. No. 5,581,800, entitled “Method and Apparatus forAutomatically Identifying a Program Including a Sound Signal,” whichissued on Dec. 3, 1996, U.S. Pat. No. 5,787,334, entitled “Method andApparatus for Automatically Identifying a Program Including a SoundSignal,” which issued on Jul. 28, 1998, and U.S. Pat. No. 5,450,490,entitled “Apparatus and Methods for Including Codes in Audio Signals andDecoding,” which issued on Sep. 12, 1995, all of which are herebyincorporated by reference in their entireties. U.S. Pat. Nos. 8,359,205,8,369,972, U.S. Publication No. 2010/0223062, U.S. Pat. Nos. 6,871,180,5,764,463, 5,574,962, 5,581,800, 5,787,334 and 5,450,490 describeexample watermarking systems in which a watermark is included in anaudio signal by manipulating a set of frequencies of the audio signal.

In some examples, the watermark detector 145 of FIG. 3 is structured toprocess audio data/signal(s) obtained by the sensor(s) 305 to detectsymbols of instances of the watermark 200 that are encoded in one ormore time domain characteristics of the sensed audio signal, such as bymodulating the amplitude and/or phase of the audio signal in the timedomain. Examples of encoding watermarks in the time domain of an audiosignal, and corresponding example watermark detection techniques thatmay be implemented by the example watermark detector 145, include, butare not limited to, examples in which spread spectrum techniques areused to include a watermark in an audio signal. For example, such awatermark can be encoded in the audio signal by (1) spreading thewatermark by modulating the watermark with a pseudo-noise sequence andthen (2) combining the spread watermark with the audio signal. Detectionof such a watermark involves correlating the audio signal (after beingwatermarked) with the pseudo-noise sequence, which de-spreads thewatermark, thereby permitting the watermark to be detected after thecorrelation.

The example media device meter 125 of FIG. 3 also includes the examplewatermark detector controller 150. In the illustrated example of FIG. 3, the watermark detector controller 150 is configured to take advantageof watermarks, such as the example watermark 200, that are embeddedrepeatedly in media by initially configuring the example watermarkdetector 145 to search for and detect a first watermark, and thenconfiguring the watermark detector 145 to target watermark detection atthe locations in the media (e.g., in the media audio signal) where otherwatermarks are expected based on the watermark repetition rate and theduration of the watermark. At other times, the watermark detectorcontroller 150 of the illustrated example places the watermark detector145 in a low-power sleep mode to conserve power (e.g., by disablingpower to the watermark detector 145, by asserting a control input/signalto place the watermark detector 145 in a low-power mode, by causing thewatermark detector 145 to not be invoked by a processor, etc.).

In some examples, the watermark detector controller 150 causes thewatermark decoder to operate in one of at least three modes, such as asearch mode, a confirmation mode and a sleep mode. In the search mode,the watermark detector controller 150 activates the watermark detector145 to begin detecting a watermark in a monitored media (e.g., audio)signal. This mode of operation is referred to herein as the search modeand, in some examples, the watermark detector controller 150 causes thewatermark detector 145 to continue operating in the search mode until(1) a watermark is detected and/or one or more trigger conditions, whichindicate conditions are determined to be conducive for watermarkdetection, is/are met, or (2) a search interval has expired. If thesearch interval expires before a watermark is detected or the triggercondition is met, the watermark detector controller 150 causes thewatermark detector 145 to transition to a sleep mode to conserve powerfor a sleep interval, after which watermark detector controller 150causes the watermark detector 145 to again reenter search mode.

In some examples, if a watermark is detected during search mode, thewatermark detector controller 150 verifies detection of the watermark(e.g., to reduce the likelihood that a false watermark detection willcause the watermark detector controller 150 to transition the watermarkdetector 145 out of the search mode prematurely). In examples in whichthe watermark being detected by the watermark detector 145 correspondsto the example watermark 200, the watermark detector controller 150 mayverify that a valid watermark was detected if the first group of mediaidentification symbols 205 of the detected watermark 200 match thecorresponding first group of media identification symbols 205 of a priordetected watermark 200 (e.g., as this portion is embedded repeatedly inthe media signal). If the watermark detector controller 150 is unable tovalidate the detected watermark, and the search interval expires with noother watermarks being detected and validated, and with the triggercondition no longer being met, the watermark detector controller 150causes the watermark detector 145 to transition to the sleep mode toconserve power for the sleep interval, after which the watermarkdetector controller 150 wakes the watermark detector 145 and causes itto reenter search mode. However, if the watermark detector controller150 is unable to validate the detected watermark, but the searchinterval has not expired or the trigger condition is still being met,the watermark detector controller 150 causes the watermark detector 145to remain enabled and continue to operate to perform watermarkdetection.

In some examples, if a watermark is detected during search mode, and thewatermark detector controller 150 verifies that the detected watermarkis valid, the watermark detector controller 150 causes the watermarkdetector to transition to a confirmation mode. In the confirmation mode,the watermark detector controller 150 reduces the operation interval ofthe watermark detector 145 to cause a corresponding reduction in powerconsumption. For example, in the confirmation mode, the watermarkdetector controller 150 places the watermark detector 145 in the sleepmode for a sleep interval (which may be the same or different from thesleep interval used for a transition from search mode into sleep mode).The watermark detector controller 150 then wakes the watermark detector145 to perform watermark detection and to store detected watermarksymbols in a watermark symbol buffer. The watermark detector controller150 examines the watermark symbol buffer at a location where an embeddedwatermark is expected to be present in the media signal (e.g., due tothe watermark repetition rate). If watermark confirmation is successful(e.g., if a valid watermark is detected), the watermark detectorcontroller 150 places the watermark detector 145 in the sleep mode toconserve power for the sleep interval, after which watermark detectorcontroller 150 causes the watermark detector 145 to reenter confirmmode. However, if a valid watermark is not detected, the watermarkdetector controller 150 searches the watermark symbol buffer todetermine if a watermark is present in the media signal, but at adifferent location than expected (e.g., which may be due to a change inthe media being presented). If a new watermark is detected, thewatermark detector controller 150 places the watermark detector 145 backin the sleep mode to conserve power for the sleep interval, after whichthe watermark detector controller 150 causes the watermark detector 145to reenter confirm mode. However, if no watermark is detected afterexpiration of a time interval (which may be the same or different fromthe search interval), the watermark detector controller 150 places thewatermark detector 145 into the search mode and the process repeats.

A block diagram of an example implementation of the watermark detectorcontroller 150 of FIGS. 1 and/or 3 is illustrated in FIG. 4 . Theexample watermark detector controller 150 of FIG. 4 includes an examplesymbol buffer 405 to store measured watermark symbol values determinedby the example watermark detector 145 when the watermark detector 145 isactive. In some examples, to detect a watermark symbol, the watermarkdetector 145 determines measured watermark symbol values correspondingto each possible symbol value the watermark symbol may have. Forexample, to detect the symbol 220A in the example watermark 200, thewatermark detector 145 determines, for each symbol interval (e.g., 0.4seconds in the example of FIG. 2 ) corresponding to the symbol 220A,measured watermark signal-to-noise (SNR) values corresponding to each ofthe 16 possible symbol values the symbol 220A may have. The symbolbuffer 405 stores the measured watermark symbol values provided by thewatermark detector 145 for further processing. The example symbol buffer405 may be implemented by any appropriate memory, storage device, etc.,such as one or more of the volatile memory 1414 and/or the mass storagedevice 1428 of the example processor platform 1400 of FIG. 14 , which isdescribed in further detail below.

The example watermark detector controller 150 of FIG. 4 also includes anexample watermark verifier 410 to operate the example watermark detector145 in a first (e.g., search) mode and to verify watermarks detected bythe watermark detector 145, as described above. In some examples, thewatermark verifier 410 operates the watermark detector 145 in a first(e.g., search) operating mode to search for a first watermark in a mediasignal output from the example media device 110. Then, in response tothe watermark detector 145 detecting the first watermark, the watermarkverifier 410 determines whether the detected watermark satisfies one ormore verification conditions. If the verification condition(s) is(are)satisfied, the watermark verifier 410 indicates that the detectedwatermark is verified.

In examples in which the watermark detector 145 is configured to detectthe example watermark 200 of FIG. 2 , the watermarks to be detected bythe watermark detector 145 in the first (e.g., search) mode include thefirst group of media identification symbols 205, which are repeated insuccessive watermarks, and the second group of timestamp symbols 210,which vary among successive watermarks. In some such examples, thewatermark verifier 410 operates the watermark detector 145 in the first(e.g., search) operating mode to detect the first group of mediaidentification symbols 205. Furthermore, if the watermark verifier 410determines that the watermark detector 145 has detected a firstwatermark, which includes the first group of media identificationsymbols 205, in the monitored media signal (e.g., by detecting the firstgroup of media identification symbols 205 in the symbol buffer 405), thewatermark verifier 410 then determines whether the first group of mediaidentification symbols 205 satisfy a verification condition to verifythe detected watermark. For example, the watermark verifier 410 maydetermine that the verification condition is satisfied when the firstgroup of media identification symbols 205 detected by the watermarkdetector 145 during the first (e.g., search) operating mode match acorresponding first group of media identification symbols 205 repeatedin a prior watermark detected by the watermark detector 145 during atime period prior to detection of the current watermark. Additionally oralternatively, in some examples, the watermark verifier 410 maydetermine that the verification condition is satisfied when the symbolsin the first group of media identification symbols 205 satisfy one ormore symbol strength conditions individually or collectively.

The watermark detector controller 150 of FIG. 4 also includes an examplewatermark confirmer 415 to operate the example watermark detector 145 ina second (e.g., confirmation) mode in response to the watermark verifier410 verifying a first watermark detected by the watermark detector 145during the first (e.g., search) mode. In the second (e.g., confirmation)mode, the watermark confirmer 415 causes the watermark detector 145 tocycle between a sleep interval and an active interval to detectsubsequent watermarks at expected locations in the monitored mediasignal relative to the location of the first watermark detected andverified during the first (e.g., search) operating mode. For example, ifthe watermarks to be detected by the watermark detector 145 correspondto the example watermark 200 of FIG. 2 , the watermark confirmer 415 mayoperate the watermark detector 145 to detect, in the monitored mediasignal, the first group of media identification symbols 205 repeated ina second watermark at a second location in the monitored media signalthat is determined relative to the location of the first watermark basedon the repetition interval and duration of the watermarks 200 embeddedin the monitored media signal.

Furthermore, in some examples, the watermark confirmer 415 continues tooperate the watermark detector 145 in the second (e.g., confirmation)operating mode if the first group of media identification symbols 205repeated in a second watermark detected during the second (e.g.,confirmation) mode satisfy one or more symbol strength conditions.Additionally or alternatively, in some examples, the watermark confirmer415 continues to operate the watermark detector 145 in the second (e.g.,confirmation) operating mode if the first group of media identificationsymbols 205 repeated in the second watermark detected during the second(e.g., confirmation) mode match at least a threshold number of the firstgroup of media identification symbols 205 included in a prior watermarkdetected by the watermark detector 145. The prior watermark maycorrespond to, for example, the first watermark detected by thewatermark detector 145 during the first (e.g., search) operating mode,or another watermark previously detected by the watermark detector 145during the second (e.g., confirmation) mode. However, in some suchexamples, the watermark confirmer 415 transitions operation of thewatermark detector 145 out of the second (e.g., confirmation) operatingmode if, for example, the first group of media identification symbols205 repeated in the second watermark does not satisfy the symbolstrength condition(s) and/or the first group of media identificationsymbols 205 repeated in the second watermark does not match at least thethreshold number of the corresponding first group of mediaidentification symbols 205 included in a prior detected watermark.

In some examples, the watermark detector controller 150 of FIG. 4includes an example search trigger evaluator 420 to evaluate one or moretrigger conditions to determine whether to continue operating thewatermark detector 145 in the first (e.g., search), or cause thewatermark detector 145 to be placed in a third (e.g., sleep) operatingmode. For example, in response to a watermark not being detected for afirst time period of operating the watermark detector 145 in the first(e.g., search) operating mode, the search trigger evaluator 420 mayevaluate whether one or more trigger conditions have been met. If, forexample, a trigger condition is met, the search trigger evaluator 420may continue to operate the watermark detector 145 in the first (e.g.,search) operating mode. However, if the trigger condition is not met,the search trigger evaluator 420 may transition operation of thewatermark detector 145 to a third (e.g., sleep) operating mode in whichthe watermark detector 145 sleeps for a sleep interval, and then iswoken and transitioned back to operating in the first (e.g., search)operating mode. The sleep interval used during the third (e.g., sleep)operating mode may be the same as, or different from, the sleep intervalused during the second (e.g., confirmation) mode.

Additionally or alternatively, when the watermark confirmer 415 decidesto transition operation of the watermark detector 145 out of the second(e.g., confirmation) operating mode, in some examples the search triggerevaluator 420 determines how the watermark detector 145 is to betransitioned out of the second (e.g., confirmation) operating mode. Forexample, the search trigger evaluator 420 may cause operation of thewatermark detector 145 to transition from the second (e.g.,confirmation) operating mode to the first (e.g., search) operating modediscussed above if a trigger condition is met. However, if the triggercondition is not met, the search trigger evaluator 420 may transitionoperation of the watermark detector 145 to the third (e.g., sleep)operating mode in which the watermark detector 145 sleeps for a sleepinterval, and then is woken and transitioned back to operating in thefirst (e.g., search) operating mode. As noted above, the sleep intervalused during the third (e.g., sleep) operating mode may be the same as,or different from, the sleep interval used during the second (e.g.,confirmation) mode.

In some examples, the trigger condition(s) evaluated by the searchtrigger evaluator 420 include watermark symbol strength conditions,which are described in further detail below. Additionally oralternatively, in some examples, the trigger condition(s) evaluated bythe search trigger evaluator 420 include a quiet level conditionevaluated by an example quiet level evaluator 425 included in theexample watermark detector controller 150 of FIG. 4 . The quiet levelevaluator 425 of the illustrated example processes audio samplesreceived from, for example, the example sensor(s) 305 of the examplemedia device meter 125 to determine whether the strength (e.g.,amplitude, power, energy, etc.) of the audio samples obtained from thesensor(s) 305 indicates that the measured audio is quiet. For example,the quiet level evaluator 425 may compare the strength of the sensedaudio samples to a quiet threshold which, if not met, indicated themeasured audio is quiet. In such examples, if the measured audio isdetermined to be quiet, the trigger condition is not satisfied and thewatermark detector 145 is placed in the third (e.g., sleep) mode.However, if the measured audio is determined to not be quiet, thetrigger condition is satisfied and the watermark detector 145 is placedin the first (e.g., search) mode.

The example watermark detector controller 150 of FIG. 4 also includes anexample timer 430 to, for example, track the sleep interval(s) employedin the second (e.g., confirmation) and the third (e.g., sleep) modes.For example, the timer 430 may be configured to track a first sleepinterval when the watermark detector controller 150 is causing thewatermark detector 145 to operate in the second (e.g., confirmation)operating mode Additionally or alternatively, the timer 430 may beconfigured to track a second sleep interval (e.g., which may be the sameas, or different from, the first sleep interval) when the watermarkdetector controller 150 is causing the watermark detector 145 to operatein the third (e.g., sleep) operating mode. The time 430 may beimplemented by any type(s) and/or number(s) of timing sources, clocks,oscillators, etc.

In some examples, the watermark detector controller 150 of FIG. 4includes an example back confirmer 435 to process the measured watermarksymbol values stored in the example symbol buffer 405 to search forwatermark(s) in addition to those watermarks detected directly in thefirst (e.g., search) and/or the second (e.g., confirmation) operatingmodes. For example, when transitioning operation of the watermarkdetector 145 from the first (e.g., search) operating mode to the second(e.g., confirmation) operating mode, the watermark verifier 410 mayinvoke the back confirmer 435 to search measured watermark symbol valuesstored in the symbol buffer 405 and corresponding to a given time period(e.g., 15 minutes or some other value) prior to detection of the firstwatermark during the first (e.g., search) operating mode. If the backconfirmer 435 detects any other watermarks, the back confirmer 435invokes the watermark verifier 410 to verify the detected watermark. Insuch examples, the watermark confirmer 415 uses the location(s) of anyother detected and verified watermarks to determine other period(s)during which the watermark detector 145 is to be activated during thesecond (e.g., confirmation) mode to detect subsequent instances of thesewatermarks in the monitored media signal.

In some examples, the back confirmer 435 is additionally oralternatively invoked by the watermark confirmer 415 during the second(e.g., confirmation) mode to search measured watermark symbol valuesstored in the symbol buffer 405 and corresponding to a given time period(e.g., 1 minute or some other value) prior to detection of the watermarkat the expected location in the media signal corresponding to when thewatermark detector 145 is configured to be active. For example, duringthe second (e.g., confirmation) mode, the watermark confirmer 415 maywake the watermark detector 145 prior to the expected location of thenext watermark to be detected in the monitored media signal. In suchexamples, the back confirmer 435 may be invoked to search the measuredwatermark symbol values stored in the symbol buffer 405 for watermark(s)occurring prior to the expected location of the next watermark. In thisway, the back confirmer 435 permits the example watermark detectorcontroller 150 to quickly adjust to watermarks being embedded atdifferent locations in the media signal, and/or to new media beingpresented by the monitored media device 110.

The example watermark detector controller 150 of FIG. 4 also includes anexample watermark logger 440 to log the watermarks detected by thewatermark detector 145 during the first (e.g., search) and/or second(e.g., confirmation) operating modes. In the illustrated example of FIG.4 , the watermark logger 440 reports the logged watermarks via theexample network 135 to the example data processing facility 140 forfurther processing, as described above. For example, the watermarklogger 440 may report the logged watermarks periodically (e.g., atspecified reporting intervals), based on one or more events (e.g., suchas when a log storage threshold is satisfied, when a query from the dataprocessing facility 140 is received, etc.), etc.

While example manners of implementing the media device meter 125 areillustrated in FIGS. 1-4 , one or more of the elements, processes and/ordevices illustrated in FIGS. 1-4 may be combined, divided, re-arranged,omitted, eliminated and/or implemented in any other way. Further, theexample watermark detector 145, the example watermark detectorcontroller 150, the example sensor(s) 305, the example symbol buffer405, the example watermark verifier 410, the example watermark confirmer415, the example search trigger evaluator 420, the example quiet levelevaluator 425, the example timer 430, the example back confirmer 435,the example watermark logger 440 and/or, more generally, the examplemedia device meter 125 of FIGS. 1-4 may be implemented by hardware,software, firmware and/or any combination of hardware, software and/orfirmware. Thus, for example, any of the example watermark detector 145,the example watermark detector controller 150, the example sensor(s)305, the example symbol buffer 405, the example watermark verifier 410,the example watermark confirmer 415, the example search triggerevaluator 420, the example quiet level evaluator 425, the example timer430, the example back confirmer 435, the example watermark logger 440and/or, more generally, the example media device meter 125 could beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), application specific integrated circuit(s)(ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example media devicemeter 125, the example watermark detector 145, the example watermarkdetector controller 150, the example sensor(s) 305, the example symbolbuffer 405, the example watermark verifier 410, the example watermarkconfirmer 415, the example search trigger evaluator 420, the examplequiet level evaluator 425, the example timer 430, the example backconfirmer 435 and/or the example watermark logger 440 is/are herebyexpressly defined to include a tangible computer readable storage deviceor storage disk such as a memory, a digital versatile disk (DVD), acompact disk (CD), a Blu-ray disk, etc. storing the software and/orfirmware. Further still, the example media device meter 125 may includeone or more elements, processes and/or devices in addition to, orinstead of, those illustrated in FIGS. 1-4 , and/or may include morethan one of any or all of the illustrated elements, processes anddevices.

Flowcharts representative of example machine readable instructions forimplementing the example media device meter 125, the example watermarkdetector 145, the example watermark detector controller 150, the examplesensor(s) 305, the example symbol buffer 405, the example watermarkverifier 410, the example watermark confirmer 415, the example searchtrigger evaluator 420, the example quiet level evaluator 425, theexample timer 430, the example back confirmer 435 and/or the examplewatermark logger 440 are shown in FIGS. 5-12 . In these examples, themachine readable instructions comprise one or more programs forexecution by a processor, such as the processors 1312 and/or 1412 shownin the example processor platforms 1300 and 1400 discussed below inconnection with FIGS. 13 and 14 . The one or more programs, orportion(s) thereof, may be embodied in software stored on a tangiblecomputer readable storage medium such as a CD-ROM, a floppy disk, a harddrive, a digital versatile disk (DVD), a Blu-ray Disk™, or a memoryassociated with the processors 1312 and/or 1412, but the entire programor programs and/or portions thereof could alternatively be executed by adevice other than the processors 1312 and/or 1412, and/or embodied infirmware or dedicated hardware (e.g., implemented by an ASIC, a PLD, anFPLD, discrete logic, etc.). Further, although the example program(s)is(are) described with reference to the flowcharts illustrated in FIGS.5-12 , many other methods of implementing the example media device meter125, the example watermark detector 145, the example watermark detectorcontroller 150, the example sensor(s) 305, the example symbol buffer405, the example watermark verifier 410, the example watermark confirmer415, the example search trigger evaluator 420, the example quiet levelevaluator 425, the example timer 430, the example back confirmer 435and/or the example watermark logger 440 may alternatively be used. Forexample, with reference to the flowcharts illustrated in FIGS. 5-12 ,the order of execution of the blocks may be changed, and/or some of theblocks described may be changed, eliminated, combined and/or subdividedinto multiple blocks.

As mentioned above, the example processes of FIGS. 5-12 may beimplemented using coded instructions (e.g., computer and/or machinereadable instructions) stored on a tangible computer readable storagemedium such as a hard disk drive, a flash memory, a read-only memory(ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example processes of FIGS. 5-12 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a non-transitory computer and/or machinereadable medium such as a hard disk drive, a flash memory, a ROM, a CD,a DVD, a cache, a RAM and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended. Also, as used herein, the terms “computerreadable” and “machine readable” are considered equivalent unlessindicated otherwise.

A first example program 500 that may be executed to implement theexample media device meter 125 of FIGS. 1 and/or 3 , and/or the examplewatermark detector controller 150 of FIGS. 1, 3 and/or 4 , isrepresented by the flowchart shown in FIG. 5 . With reference to thepreceding figures and associated written descriptions, the exampleprogram 500 of FIG. 5 begins execution at block 505 at which the exampletimer 430 of the example watermark detector controller 150 wakes theexample watermark detector 145 at the end of the current sleep interval.At block 510, the watermark detector controller 150 determines thecurrent operating mode in which the watermark detector 145 has beenconfigured to operate. If the current operating mode is the searchoperating mode (block 510), then at block 515 the example watermarkverifier 410 of the watermark detector controller 150 causes thewatermark detector 145 to operate (or continue to operate) in the searchoperating mode to detect watermarks in a monitored media signal outputby the media device 110, and store the resulting measured watermarksymbol values in the example symbol buffer 405, as described above. If awatermark is detected (block 520), processing proceeds to block 525.Otherwise, the watermark verifier 410 continues to operate the watermarkdetector 145 in the search mode.

If a watermark is detected during search mode (block 520), at block 525the watermark verifier 410 verifies the detected watermark, as describedabove. Example machine readable instructions that may be used toimplement the processing at block 525 are illustrated in FIG. 6 , whichis described in further detail below. If the watermark verifier 410determines the detected watermark is verified (block 530), processingproceeds to block 535 at which the watermark verifier 410 sets theoperating mode of the watermark detector to the confirmation mode.Otherwise, processing proceeds to block 540 at which the example searchtrigger evaluator 420 of the example watermark detector controller 150evaluates one or more search trigger conditions, as described above.Example machine readable instructions that may be used to implement theprocessing at block 540 are illustrated in FIG. 8 , which is describedin further detail below.

If the search trigger condition(s) evaluated at block 540 is(are)satisfied (block 545), processing returns to block 515 and blockssubsequent thereto at which the watermark verifier 410 continues tooperate the watermark detector 145 in the search mode. Otherwise,processing proceeds to block 550 at which the watermark detectorcontroller 150 places the watermark detector 145 in a sleep mode (e.g.,or other low power operating mode, such as a standby mode, etc.) for asleep interval (e.g., such as for a duration of 1 minute or some otherduration). After the sleep interval expires, processing returns to block505 and blocks subsequent thereto.

Returning to block 530, if the watermark verifier 410 determines thedetected watermark is verified (block 530), processing proceeds to block555 at which the watermark verifier 410 sets the operating mode of thewatermark detector to the confirmation mode. At block 560, the exampleback confirmer 435 of the watermark detector controller 150 performs abackconfirm operation to search through the example symbol buffer 405 ofthe watermark detector controller 150 to detect other watermarksdetected by the watermark detector 145 during the current activeinterval, as described above. At block 565, the example watermark logger440 of the watermark detector controller 150 logs (and reports, ifappropriate) the watermark(s) detected during the current activeinterval. Processing then proceeds to block 550 and blocks subsequentthereto, which are described in detail above.

Returning to block 510, if the current operating mode is theconfirmation operating mode, then at block 570 the example watermarkconfirmer 415 of the watermark detector controller 150 operates (orcontinues to operate) the watermark detector 145 in the confirmationmode. In the confirmation mode, the watermark confirmer 415 causes thewatermark detector 145 to cycle between a sleep interval and an activeinterval to detect subsequent watermarks at expected locations in themonitored media signal relative to the location of the first watermarkdetected and verified during the search operating mode, and store theresulting measured watermark symbol values in the example symbol buffer405, as described above. As also noted above, the duration of the sleepinterval employed in the confirmation mode may be the same as, ordifferent from, the duration of the sleep interval employed in the sleepmode. Also, in some examples, the watermark detector controller 150varies the duration of the sleep interval employed in the sleep modeand/or the confirmation mode depending on one or more criteria, such asbased on time-of-day (e.g., with longer sleep intervals utilized duringnighttime hours), detected media activity (e.g., with longer sleepintervals utilized when media signals have not be detected for a giveninterval of time). Additionally or alternatively, in some examples, thewatermark detector controller 150 varies the sleep interval in a randomor pseudo-random manner (e.g., by utilizing a random or pseudo-randomnumber generator to determine the duration of the sleep interval).Example machine readable instructions that may be used to implement theprocessing at block 570 are illustrated in FIG. 7 , which is describedin further detail below.

At block 575, the watermark confirmer 415 determines whether a watermarkwas detected at block 570 (e.g., during the confirmation operating mode)and, thus, watermark confirmation was successful. If watermarkconfirmation was successful (block 575), processing proceeds to block555 at which the operating mode remains as the confirmation mode.Processing then proceeds to block 560 and blocks subsequent thereto,which are described in detail above. However, if watermark confirmationwas not successful (block 575), processing proceeds to block 580 atwhich the watermark confirmer 415 sets the operating mode of thewatermark detector 145 back to the search operating mode. In someexamples, at block 575 the watermark confirmer 415 causes the operatingmode to remain in the confirmation mode (and, thus, does not proceed toblock 580) for at least a given confirmation time period (e.g., 5minutes or some other time period). In such examples, if the givenconfirmation time period elapses without watermark confirmation beingsuccessful, then processing proceeds to block 580 at which the watermarkconfirmer 415 sets the operating mode of the watermark detector 145 backto the search operating mode at block. Processing then proceeds to block540 and blocks subsequent thereto, which are described in detail above.

A first example program P525 that may be executed to implement theexample watermark verifier 410 of FIG. 4 , and/or that may be used toperform the processing at block 525 of FIG. 5 , is represented by theflowchart shown in FIG. 6 . With reference to the preceding figures andassociated written descriptions, the example program P525 of FIG. 6begins execution at block 605 at which the watermark verifier 410 beginsverifying a watermark, such as the example watermark 200, detected bythe example watermark detector 145 during the search operating mode. Forexample, at block 605, the watermark verifier 410 determines whether allsymbols in the current detected watermark are valid (e.g., have noerrors). If all detected watermark symbols are not valid, controlproceeds to block 610 at which the watermark verifier 410 indicates thatthe watermark has not been verified. However, if all detected watermarksymbols are valid, control proceeds to block 615 at which the watermarkverifier 410 determines whether the detected watermark matches a priorwatermark detected within a verification time interval (e.g., which maybe 5 minutes or some other duration). If at block 615 the detectedwatermark matches a prior watermark detected within the verificationtime interval (e.g., or if at least their repeating groups of mediaidentification symbols 205 match), at block 620 the watermark verifier410 indicates that the watermark has been verified. Otherwise, at block625 the watermark verifier 410 determines whether the symbols of thewatermark being verified satisfy one or more symbol strengthcondition(s). If the symbol strength condition(s) is(are) satisfied, atblock 620 the watermark verifier 410 indicates that the watermark hasbeen verified. Otherwise, at block 610 the watermark verifier 410indicates that the watermark has not been verified.

A first example program P570 that may be executed to implement theexample watermark confirmer 415 of FIG. 4 , and/or that may be used toperform the processing at block 570 of FIG. 5 , is represented by theflowchart shown in FIG. 7 . With reference to the preceding figures andassociated written descriptions, the example program P570 of FIG. 7begins execution at block 705 at which the watermark confirmer 415examines the example symbol buffer 405 to determine whether, when thewatermark detector 145 was active, a valid watermark (e.g., an instanceof the watermark 200 having a first group of code symbols 205 matchingthe first group of code symbols 205 in a prior detected instance of thewatermark 200) was detected at the expected location in the monitoredmedia signal. If a valid watermark was not detected (block 705), atblock 710 the watermark confirmer 415 examines the example symbol buffer405 to determine whether any valid watermark (e.g., at any location inthe monitored media signal) was detected while the watermark detector145 was active. If a valid watermark was identified at block 705 orblock 710, processing proceeds to block 715 at which the watermarkconfirmer 415 evaluates a first set of one or more symbol strengthconditions for the symbols of the valid watermark. For example, thefirst set of one or more symbol strength conditions may correspond to afirst symbol strength threshold that is compared against the symbols ofthe valid watermark.

However, if a valid watermark was not identified at block 705 or block710, processing proceeds to block 720 at which the watermark confirmer415 evaluates a second set of one or more symbol strength conditions forthe measured watermark symbols at the expected location in the mediasignal. For example, the second set of one or more symbol strengthconditions may correspond to a second symbol strength threshold that iscompared against the symbols of the valid watermark, with the secondsymbol strength threshold being higher than the first symbol strengththreshold. At block 725, the watermark confirmer 415 determines whetherthe symbol strength condition(s) evaluated at blocks 715 or 720was(were) satisfied by the watermark symbols examined. If the symbolstrength condition(s) was(were) satisfied (block 725), at block 735 thewatermark confirmer 415 determines watermark confirmation wassuccessful. However, if the symbol strength condition(s) was(were)satisfied (block 725), at block 730 the watermark confirmer 415determines whether at least a threshold number of the watermark symbolsat the expected location (e.g., the first group of symbols 205 for aninstance of the watermark 200 at the expected location) match thecorresponding symbols in a prior valid watermark detected in themonitored media signal. If at least the threshold number of thewatermark symbols match (block 730), processing proceeds to block 735 atwhich the watermark confirmer 415 determines watermark confirmation wassuccessful. Otherwise, at block 740 the watermark confirmer 415determines watermark confirmation was not successful.

A first example program P540 that may be executed to implement theexample search trigger evaluator 420 of FIG. 4 , and/or that may be usedto perform the processing at block 540 of FIG. 5 , is represented by theflowchart shown in FIG. 8 . With reference to the preceding figures andassociated written descriptions, the example program P540 of FIG. 8begins execution at block 805 at which the search trigger evaluator 420determines whether the current active interval in which the watermarkdetector 145 is to be active has expired. For example, the activeinterval may have a duration of 1 minute or some other value. If theactive interval has expired, at block 810 the search trigger evaluator420 indicates that the search trigger condition(s) has(have) not beensatisfied. However, if the active interval has not expired, (block 805),at block 815 the search trigger evaluator 420 evaluates one or moresearch trigger conditions, as described above. If the search triggercondition(s) is(are) satisfied (block 820), at block 825 the searchtrigger evaluator 420 indicates that the search trigger condition(s)has(have) been satisfied. Otherwise, processing proceeds to block 810 atwhich the search trigger evaluator 420 indicates that the search triggercondition(s) has(have) not been satisfied.

A second example program 900 that may be executed to implement theexample media device meter 125 of FIGS. 1 and/or 3 , and/or the examplewatermark detector controller 150 of FIGS. 1, 3 and/or 4 , isrepresented by the flowchart shown in FIG. 9 . The second exampleprogram 900 is tailored for scenarios in which the watermark detector145 is to detect watermarks corresponding to the example watermark 200of FIG. 2 . With reference to the preceding figures and associatedwritten descriptions, the example program 900 of FIG. 9 begins executionat block 905 at which the watermark detector controller 150 activatesthe example watermark detector 145 of the media device meter 125, whichcauses the watermark detector 145 to store measured watermark symbolvalues in the example symbol buffer 405. At block 910, the examplewatermark verifier 410 determines whether a verified watermark wasdetected, as described above. If a verified watermark was detected(block 910), processing proceeds to block 915 at which, if the currentoperating mode is the search mode, the watermark verifier 410transitions the operating mode to the confirmation mode. Otherwise, ifthe current operating mode is the confirmation mode, at block 915 theoperating mode remains in the confirmation mode. As such, in theillustrated example of FIG. 9 , the watermark verifier 410 performswatermark verification in both the search and confirmation operatingmodes, and processing proceeds to block 920 if watermark verification issuccessful in either the search or confirmation operating modes.

At block 920, the example back confirmer 435 of the watermark detectorcontroller 150 performs a backconfirm operation to search through theexample symbol buffer 405 of the watermark detector controller 150 todetect other watermarks detected by the watermark detector 145 duringthe current active interval, as described above. At block 925, theexample watermark logger 440 of the watermark detector controller 150logs (and reports, if appropriate) the watermark(s) detected during thecurrent active interval. Processing then proceeds to block 930 at whichthe watermark detector controller 150 places the watermark detector 145in a sleep mode (e.g., or other low power operating mode, such as astandby mode, etc.) for a sleep interval (e.g., such as for a durationof 1 minute or some other duration), after which the watermark detector145 is woken and processing returns to block 905 and blocks subsequentthereto.

Returning to block 910, if a verified watermark was not detected,processing proceeds to block 935. At block 935, the example watermarkconfirmer 415 determines whether the current operating mode is theconfirmation mode and, if so, whether a watermark confirmation wassuccessful. If the current operating mode is the confirmation mode andwatermark confirmation was successful (block 935), processing proceedsto block 940. At block 940, the watermark confirmer 415 examines thelocation of the most recent watermark detected during the confirmationoperating mode. If the watermark occurred at the expected location inthe media signal (e.g., based on the duration and repetition interval ofthe watermark 200), processing proceeds from block 940 to block 925 atwhich the example watermark logger 440 of the watermark detectorcontroller 150 logs (and reports, if appropriate) the watermark(s)detected during the current active interval. Otherwise, if the locationof the detected watermark has changed from the expected location (block940), processing proceeds to block 920 at which the back confirmer 435performs the backconfirm operation described above before processingthen proceeds to block 925. Processing then proceeds to block 930 andblocks subsequent thereto, which are described above.

Returning to block 935, if the current operating mode is not theconfirmation mode, or watermark confirmation was not successful,processing proceeds to block 945. At block 945, the example searchtrigger evaluator 420 evaluates one or more search trigger conditions,as described above. If the search trigger condition(s) is(are) notsatisfied (block 945), at block 950 the search trigger evaluator 420determines whether a time period (e.g., Y minutes, where Y is equal to 5or some other value) has elapsed since the last watermark was detected.If the time period has elapsed, the search trigger evaluator 420disables confirmation mode (if it was enabled), and causes the operatingmode to transition to (or remain in) the search operating mode. As nowatermarks have been detected, nothing is logged for the current activeinterval (block 955). Processing then proceeds to block 930 and blockssubsequent thereto, which are described above.

Returning to block 945, if the search trigger condition(s) is(are)satisfied (block 945), processing returns to block 905 and blockssubsequent thereto at which the watermark detector controller 150evaluates the watermark symbols detected during the next active period.As indicated in the illustrated example of FIG. 9 , if the searchtrigger condition(s) is(are) satisfied, subsequent processing iterationswill continue every X seconds, where X corresponds to, for example, theduration of the example watermark 200 (e.g., X=4.8 seconds, or someother value).

A second example program 910P that may be executed to implement theexample watermark verifier 410 of FIG. 4 , and/or that may be used toperform the processing at block 910 of FIG. 9 , is represented by theflowchart shown in FIG. 10 . The second example program 910P is tailoredfor scenarios in which the watermark detector 145 is to detectwatermarks corresponding to the example watermark 200 of FIG. 2 . Withreference to the preceding figures and associated written descriptions,the example program 910P of FIG. 9 begins execution at block 1005 atwhich the watermark verifier 410 determines whether a valid watermark(e.g., a watermark with no symbol errors) was detected. For example, thewatermark detector 145 may indicate that a detected watermark is validwhen the detected watermark satisfies an error detection test. Asdescribed above, if the watermark detector 145 outputs a valid detectedwatermark, the watermark verifier 410 performs further processing toverify the validity of the watermark before permitting power efficientwatermark detection, as disclosed herein, to proceed further.Conversely, if a valid watermark was not detected by the watermarkdetector 145 (block 1005), at block 1010 the watermark verifier 410indicates that watermark verification was unsuccessful as there is novalid watermark to verify.

However, if a valid watermark was detected (block 1005), then at block1015 the watermark verifier 410 determines whether the first group ofmedia identification symbols 205 of the currently detected watermarkmatch the first group of media identification symbols 205 of a priorwatermark detected within a verification time interval (e.g., such as Zminutes, where Z=5 or some other value). If the first group of mediaidentification symbols 205 match (block 1015), then at block 1020 thewatermark verifier 410 indicates that watermark verification wassuccessful. If, however, the first group of media identification symbols205 do not match (block 1015), the watermark verifier 410 evaluatesthree symbol strength conditions in the illustrated example.

For example, at block 1025, the watermark verifier 410 determineswhether the signal-to-noise ratios (SNRs) of the detected first group ofmedia identification symbols 205 satisfy a first validation threshold.For example, the first validation threshold at block 1025 can be amultiple (e.g., A, where A=2 or some other value) of the average SNR forall possible symbol values measured by the watermark detector 145 whendecoding the watermark. At block 1030, the watermark verifier 410determines whether the average of the combined SNR of each offset pair(see above for a description of offset pairs) in the first group ofmedia identification symbols 205 satisfy a second validation threshold,which may be the same or different from the first validation thresholdused at block 1025. For example, the second validation threshold atblock 1030 can be a multiple (e.g., B, where B=4.2 or some other value)of the average SNR for all possible symbol values measured by thewatermark detector 145 when decoding the watermark. At block 1035, thewatermark verifier 410 determines whether the average of the combinedSNR of each offset pair (see above for a description of offset pairs) inthe first group of media identification symbols 205 satisfy a thirdvalidation threshold, which may be the same or different from the firstand/or second validation thresholds. For example, the third validationthreshold at block 1030 can be fixed value (e.g., not a function of thesymbol SNRs), which is preset, programmable, etc.

In the illustrated example, if all three symbol strength conditionsevaluated at block 1025, 1030 and 1035 are satisfied, processingproceeds to block 1020 at which the watermark verifier 410 indicatesthat watermark verification was successful. Otherwise, processingproceeds to block 1010 at which the watermark verifier 410 indicatesthat watermark verification was unsuccessful. However, in otherexamples, processing proceeds to block 1020, at which the watermarkverifier 410 indicates that watermark verification was successful, if asubset of one or more of the conditions evaluated at block 1025, 1030and 1035 are satisfied.

A second example program 935P that may be executed to implement theexample watermark confirmer 415 of FIG. 4 , and/or that may be used toperform the processing at block 935 of FIG. 9 , is represented by theflowchart shown in FIG. 11 . The second example program 935P is tailoredfor scenarios in which the watermark detector 145 is to detectwatermarks corresponding to the example watermark 200 of FIG. 2 . Withreference to the preceding figures and associated written descriptions,the example program 935P of FIG. 11 begins execution at block 1105 atwhich the watermark confirmer 415 determines whether the currentoperating mode is the confirmation mode. If the current operating modeis not the confirmation mode (block 1105), then at block 1110 thewatermark confirmer 415 indicates that watermark confirmation wasunsuccessful. However, if the current operating mode is the confirmationmode (block 1105), then at block 1115 the watermark confirmer 415determines whether a verified watermark was detected within aconfirmation time interval (e.g., such as within the past W minutes,where W=5 or some other value). If a verified watermark was detectedwithin the confirmation time interval (block 1115), then at block 1120the watermark confirmer 415 evaluates a first symbol strength condition.Otherwise, at block 1125, the watermark confirmer 415 evaluates a secondsymbol strength condition.

For example, at block 1120, the watermark confirmer 415 determineswhether the first group of media identification symbols 205 detected atthe expected location in the monitored media signal satisfy a firstconfirmation threshold. For example, the first confirmation threshold atblock 1120 can be a multiple (e.g., C, where C=1.9 or some other value)of the average SNR for all possible symbol values measured by thewatermark detector 145 when decoding the watermark at the expectedlocation. At block 1125, the watermark confirmer 415 determines whetherthe first group of media identification symbols 205 detected at theexpected location in the monitored media signal satisfy a secondconfirmation threshold, which may be larger than the first confirmationthreshold. For example, the second confirmation threshold at block 1120can be a multiple (e.g., D, where D=2.7 or some other value) of theaverage SNR for all possible symbol values measured by the watermarkdetector 145 when decoding the watermark at the expected location.

In the illustrated example, if either of the symbol strength conditionsevaluated at blocks 1120 or 1125 are satisfied, processing proceeds toblock 1030 at which the watermark confirmer 415 indicates that watermarkconfirmation was successful. Otherwise, processing proceeds to block1035 at which the watermark confirmer 415 determines whether at least athreshold number of the first group of media identification symbols 205detected at the expected location in the monitored media signal matchthe first group of media identification symbols 205 of a prior instanceof the watermark 200 detected in the media signal. If at least thethreshold number of the first group of media identification symbols 205match (block 1035), then processing proceeds to block 1030 at which thewatermark confirmer 415 indicates that watermark confirmation wassuccessful. Otherwise, proceeds to block 1010 at which the watermarkconfirmer 415 indicates that watermark confirmation was unsuccessful.

A second example program 945P that may be executed to implement theexample search trigger evaluator 420 of FIG. 4 , and/or that may be usedto perform the processing at block 945 of FIG. 9 , is represented by theflowchart shown in FIG. 12 . The second example program 945P is tailoredfor scenarios in which the watermark detector 145 is to detectwatermarks corresponding to the example watermark 200 of FIG. 2 . Withreference to the preceding figures and associated written descriptions,the example program 945P of FIG. 12 begins execution at block 1205 atwhich the search trigger evaluator 420 determines whether the currentactive interval has expired. If the current active interval has expired(block 1205), at block 1210 the search trigger evaluator 420 indicatesthat the search trigger is not satisfied.

However, if the current active interval has not expired (block 1205), atblock 1215 the search trigger evaluator 420 determines whether a validwatermark was detected by the watermark detector 145, but did notsatisfy the verification condition(s). If a valid watermark wasdetected, but did not satisfy the verification condition(s) (block1215), at block 1220 the search trigger evaluator 420 indicates that thesearch trigger is satisfied.

However, if a valid watermark was not detected by the watermark detector145 (block 1215), processing proceeds to block 1225 at which the searchtrigger evaluator 420 determines whether a first number (NI=IO or someother value) of symbols from adjacent watermark locations have beenaccumulated. Because in the illustrated example the instances of thewatermark 200 are repeatedly embedded in the media signal for particularmedia such that the first group of the media identification symbols 205in each embedded watermark instance is the same, the first group of themedia identification symbols 205 from different watermark locations canbe accumulated to increase the likelihood of successful detection. Ifthe first number of symbols from adjacent watermark locations hasalready been accumulated (block 1225), then at block 1210 the searchtrigger evaluator 420 indicates that the search trigger is notsatisfied.

However, if the first number of symbols from adjacent watermarklocations has not already been accumulated (block 1225), then at block1230 the search trigger evaluator 420 determines whether the SNRs forthe detected watermark symbols satisfy a first trigger threshold. Forexample, the first trigger threshold at block 1230 can be a multiple(e.g., E, where E=1.9 or some other value) of the average SNR for allpossible symbol values measured by the watermark detector 145 whendecoding the watermark. If the symbol strength condition evaluated atblock 1230 is satisfied, processing proceeds to block 1220 at which thesearch trigger evaluator 420 indicates that the search trigger issatisfied.

However, if the symbol strength condition evaluated at block 1230 is notsatisfied, at block 1235 the search trigger evaluator 420 determineswhether a watermark was detected within a search trigger interval (e.g.,such as V minutes, where V=5 or some other value). If a watermark wasdetected within the search trigger interval (block 1235), then at block1240 the search trigger evaluator 420 determines whether no more than asecond number (N2=3 or some other value) of symbols from adjacentwatermark locations have been accumulated. If no more than the secondnumber of symbols from adjacent watermark locations have beenaccumulated (block 1240), then processing proceeds to block 1220 atwhich the search trigger evaluator 420 indicates that the search triggeris satisfied. Otherwise, at blocks 1245 or block 1250, the searchtrigger evaluator 420 configures either a first threshold or a secondthreshold to be used by the quiet level evaluator 425. For example, thefirst threshold configured at block 1245 when there has been nowatermark detected within the search trigger interval may be higher thanthe second threshold configured at block 1250 when more than the secondnumber of symbols from adjacent watermark locations have beenaccumulated.

At block 1255, the quiet level evaluator 425 processes audio samplesreceived from, for example, the example sensor(s) 305 of the examplemedia device meter 125 to determine whether the strength (e.g.,amplitude, power, energy, etc.) of the audio samples obtained from thesensor(s) 305 indicates that the measured audio is quiet, as describedabove. If the quiet level evaluator 425 determines that the measuredaudio is quiet, at block 1260 the search trigger evaluator 420 increasesthe threshold used by the quiet level evaluator 425. At block 1265, thesearch trigger evaluator 420 determines whether a ratio (e.g., division)of the SNRs for the detected watermark symbols to an average SNR for allpossible symbol values measured by the watermark detector 145 whendecoding the watermark satisfies a threshold. If the threshold issatisfied (block 1265), processing proceeds to block 1220 at which thesearch trigger evaluator 420 indicates that the search trigger issatisfied. Otherwise, processing proceeds to block 1210 at which thesearch trigger evaluator 420 indicates that the search trigger is notsatisfied.

FIG. 13 is a block diagram of an example processor platform 1300structured to execute the instructions of FIGS. 5 and/or 9 to implementthe example media device meter 125 of FIGS. 1 and/or 3 . The processorplatform 1300 can be, for example, a server, a personal computer, amobile device (e.g., a cell phone, a smart phone, a tablet such as aniPad′), a personal digital assistant (PDA), an Internet appliance, a DVDplayer, a CD player, a digital video recorder, a Blu-ray player, agaming console, a personal video recorder, a set top box a digitalcamera, or any other type of computing device.

The processor platform 1300 of the illustrated example includes aprocessor 1312. The processor 1312 of the illustrated example ishardware. For example, the processor 1312 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer. In the illustrated example ofFIG. 13 , the processor 1312 is configured via example instructions 1332to implement the example media device meter 125, the example watermarkdetector 145 and/or the example watermark detector controller 150 ofFIGS. 1 and/or 3 .

The processor 1312 of the illustrated example includes a local memory1313 (e.g., a cache). The processor 1312 of the illustrated example isin communication with a main memory including a volatile memory 1314 anda non-volatile memory 1316 via a link 1318. The link 1318 may beimplemented by a bus, one or more point-to-point connections, etc., or acombination thereof. The volatile memory 1314 may be implemented bySynchronous Dynamic Random Access Memory (SDRAM), Dynamic Random AccessMemory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or anyother type of random access memory device. The non-volatile memory 1316may be implemented by flash memory and/or any other desired type ofmemory device. Access to the main memory 1314, 1316 is controlled by amemory controller.

The processor platform 1300 of the illustrated example also includes aninterface circuit 1320. The interface circuit 1320 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 1322 are connectedto the interface circuit 1320. The input device(s) 1322 permit(s) a userto enter data and commands into the processor 1312. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, a trackbar (such as an isopoint), a voicerecognition system and/or any other human-machine interface. Also, manysystems, such as the processor platform 1300, can allow the user tocontrol the computer system and provide data to the computer usingphysical gestures, such as, but not limited to, hand or body movements,facial expressions, and face recognition. In the illustrated example ofFIG. 13 , the input device(s) 1322 include the example sensor(s) 305.

One or more output devices 1324 are also connected to the interfacecircuit 1320 of the illustrated example. The output devices 1324 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 1320 ofthe illustrated example, thus, typically includes a graphics drivercard, a graphics driver chip or a graphics driver processor.

The interface circuit 1320 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network1326 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 1300 of the illustrated example also includes oneor more mass storage devices 1328 for storing software and/or data.Examples of such mass storage devices 1328 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAID(redundant array of independent disks) systems, and digital versatiledisk (DVD) drives.

Coded instructions 1332 corresponding to the instructions of FIGS. 5and/or 9 may be stored in the mass storage device 1328, in the volatilememory 1314, in the non-volatile memory 1316, in the local memory 1313and/or on a removable tangible computer readable storage medium, such asa CD or DVD 1336.

FIG. 14 is a block diagram of an example processor platform 1400structured to execute the instructions of FIGS. 5-11 and/or 12 toimplement the example watermark detector controller 150 of FIGS. 1, 3and/or 4 . The processor platform 1400 can be, for example, a server, apersonal computer, a mobile device (e.g., a cell phone, a smart phone, atablet such as an iPad™), a PDA, an Internet appliance, a DVD player, aCD player, a digital video recorder, a Blu-ray player, a gaming console,a personal video recorder, a set top box a digital camera, or any othertype of computing device.

The processor platform 1400 of the illustrated example includes aprocessor 1412. The processor 1412 of the illustrated example ishardware. For example, the processor 1412 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer. In the illustrated example ofFIG. 14 , the processor 1412 is configured via example instructions 1432to implement the example watermark detector controller 150, the examplewatermark verifier 410, the example watermark confirmer 415, the examplesearch trigger evaluator 420, the example quiet level evaluator 425, theexample timer 430, the example back confirmer 435, the example watermarklogger 440 of FIGS. 1, 3 and/or 4 .

The processor 1412 of the illustrated example includes a local memory1413 (e.g., a cache). The processor 1412 of the illustrated example isin communication with a main memory including a volatile memory 1414 anda non-volatile memory 1416 via a link 1418. The link 1418 may beimplemented by a bus, one or more point-to-point connections, etc., or acombination thereof. The volatile memory 1414 may be implemented bySDRAM, DRAM, RDRAM and/or any other type of random access memory device.The non-volatile memory 1416 may be implemented by flash memory and/orany other desired type of memory device. Access to the main memory 1414,1416 is controlled by a memory controller.

The processor platform 1400 of the illustrated example also includes aninterface circuit 1420. The interface circuit 1420 may be implemented byany type of interface standard, such as an Ethernet interface, a USB,and/or a PCI express interface.

In the illustrated example, one or more input devices 1422 are connectedto the interface circuit 1420. The input device(s) 1422 permit(s) a userto enter data and commands into the processor 1412. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, a trackbar (such as an isopoint), a voicerecognition system and/or any other human-machine interface. Also, manysystems, such as the processor platform 1400, can allow the user tocontrol the computer system and provide data to the computer usingphysical gestures, such as, but not limited to, hand or body movements,facial expressions, and face recognition.

One or more output devices 1424 are also connected to the interfacecircuit 1420 of the illustrated example. The output devices 1424 can beimplemented, for example, by display devices (e.g., a LED, an OLED, aliquid crystal display, a CRT display, a touchscreen, a tactile outputdevice, a printer and/or speakers). The interface circuit 1420 of theillustrated example, thus, typically includes a graphics driver card, agraphics driver chip or a graphics driver processor.

The interface circuit 1420 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network1426 (e.g., an Ethernet connection, a DSL, a telephone line, coaxialcable, a cellular telephone system, etc.).

The processor platform 1400 of the illustrated example also includes oneor more mass storage devices 1428 for storing software and/or data.Examples of such mass storage devices 1428 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and DVD drives. In some examples, the mass storage device 1428may implement the example symbol buffer 405. Additionally oralternatively, in some examples the volatile memory 1414 may implementthe example symbol buffer 405.

Coded instructions 1432 corresponding to the instructions of FIGS. 5-11and/or 12 may be stored in the mass storage device 1428, in the volatilememory 1414, in the non-volatile memory 1416, in the local memory 1413and/or on a removable tangible computer readable storage medium, such asa CD or DVD 1436.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

1. A system comprising: at least one processor; a non-transitorycomputer-readable medium having stored therein instructions that, uponexecution by the at least one processor, cause the system to performoperations comprising: activating a watermark detector to begin a firstsearch interval; placing the watermark detector in a sleep mode uponexpiration of the first search interval in response to no validwatermarks being detected during the first search interval; placing thewatermark detector in the sleep mode prior to expiration of the firstsearch interval in response to detection of a first valid watermarkduring the first search interval; activating the watermark detector tobegin a second search interval upon expiration of a first sleep intervalafter the watermark detector was placed in the sleep mode; cycling thewatermark detector between subsequent sleep intervals and activeintervals to perform a detection operation for subsequent watermarks inthe media signal after the first valid watermark is detected during thefirst search interval, the active intervals based on expected locationsof the subsequent watermarks in the media signal; and searching a bufferof prior detected watermark symbols to detect a second watermark at alocation prior to a first one of the expected locations in the mediasignal in response to no watermark being detected at the first one ofthe expected locations in the media signal.